package co.fitstart.entity.market.satisfaction;

import java.text.ParseException;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.apache.commons.lang3.time.DateUtils;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIdentityReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;

import co.fitstart.entity.coupon.Coupon;
import co.fitstart.entity.course.round.CourseRound;

/**
 * 满意度调查
 * @author haiyan_xiao
 *
 */
@Entity
@Table(name = "satisfaction_survey")
@JsonIgnoreProperties(value={"hibernate_lazy_initializer","handler","fieldHandler"})
public class SatisfactionSurvey {

	@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
    @JsonIdentityReference(alwaysAsId=true)
    private Long id;

    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
    @JsonIdentityReference(alwaysAsId = true)
    private CourseRound courseRound;

    private String city;

    private String district;

    @Enumerated(EnumType.ORDINAL)
    private SiteOption siteAnswerOne;
    
    private String siteAnserOneReason;
    
    private String siteAnswerOneReason;
    
    private String siteAnswerOneReasonOther;

    @Enumerated(EnumType.ORDINAL)
    private SiteOption siteAnswerTwo;
    
    private String siteAnserTwoReason;
    
    private String siteAnswerTwoReason;
    
    private String siteAnswerTwoReasonOther;
    
    private String siteAnswerTwoReasonNew;
    
    private String siteAnswerTwoReasonNewOther;

    @Enumerated(EnumType.ORDINAL)
    private SiteOption siteAnswerThree;

    private String siteAnswerFour;

    @Enumerated(EnumType.ORDINAL)
    private ServerOption serverAnswerOne;
    
    private String serverAnswerOneReason;
    
    private String serverAnswerOneReasonOther;

    @Enumerated(EnumType.ORDINAL)
    private ServerOption serverAnswerTwo;

    @Enumerated(EnumType.ORDINAL)
    private ServerOption serverAnswerThree;
    
    private String serverAnswerThreeReason;
    
    private String serverAnswerThreeReasonOther;

    private String serverRemarkThree;

    @Enumerated(EnumType.ORDINAL)
    private ServerOption serverAnswerFour;
    
    private String serverAnswerFourReason;
    
    private String serverAnswerFourReasonOther;

    private String serverRemarkFour;

    private Integer serverAnswerFive;

    private String serverAnswerSix;

    private String coachAnswerOne;
    
    private String coachAnswerOneReason;
    
    private String coachAnswerOneReasonOther;

    private String coachAnswerTwo;
    
    private String coachAnswerTwoReason;
    
    private String coachAnswerTwoReasonOther;

    private String coachAnswerThree;
    
    private String coachAnswerThreeReason;
    
    private String coachAnswerThreeReasonOther;

    private Boolean coachAnswerFour;

    @Enumerated(EnumType.ORDINAL)
    private CoachType coachAnswerFive;
    
    private String coachAnswerFiveReason;
    
    private String coachAnswerFiveReasonOther;

    private String coachAnswerSix;
    
    private String coachAnswerSixReason;
    
    private String coachAnswerSixReasonOther;

    private Boolean coachAnswerSeven;

    private String coachAnswerEight;
    
    private String coachAnswerEightReason;
    
    private String coachAnswerEightReasonOther;
    
    private String coachChangeReason;

    private Boolean totalAnswerOne;
    
    private String totalAnswerOneReason;
    
    private String totalAnswerOneReasonOther;

    private Boolean totalAnswerTwo;
    
    private String totalAnswerTwoReason;
    
    private String totalAnswerTwoReasonOther;

    private Integer totalAnswerThree;

    private String totalAnswerFour;

    private Integer totalAnswerFive;

    private String totalAnswerSix;

    private Boolean totalAnswerSeven;
    
    private Integer totalAnswerSevenNew;
    
    private String totalRateReason;
    
    private String totalRateReasonOther;
    
    private String totalRateReasonTwo;
    
    private String totalRateReasonTwoOther;
    
    private String totalAnswerSevenReason;

    private String totalAnswerEight;

    private String totalAnswerNine;
    
    private String totalAnswerTen;
    
    private String totalAnswerNineOneReason;
    
    private String totalAnswerNineTwoReason;
    
    private String totalAnswerNineThreeReason;
    
    private String totalAnswerNineThreeReasonOther;

    /** 下发满意度问卷时间 */
    private Date createTime;

    /** 填写满意度问卷时间 */
    private Date fillInTime;

    /** 满意度调查卷有效填写时间 */
    private Date endTime;

    /** 满意度调查问卷是否存在 */
    @Column(name = "is_disabled")
    private boolean disabled;

    /** 礼品优惠券 */
    @ManyToOne(fetch = FetchType.LAZY, optional = true)
    @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
    @JsonIdentityReference(alwaysAsId = true)
    private Coupon coupon;

    /** 领取的礼品 */
    private String gift;

    /** 现金优惠券 */
    @ManyToOne(fetch = FetchType.LAZY, optional = true)
    @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
    @JsonIdentityReference(alwaysAsId = true)
    private Coupon cashCoupon;
    
    public boolean hasBathRoom() {
        Long siteId = this.courseRound.getSite().getId();
        return siteId == 18L ? false : (siteId == 10L ? false : true);
    }
    
    public boolean isBefore() {
        try {
            Date before = DateUtils.parseDate("2020-06-01", "yyyy-MM-dd");
            if(this.fillInTime != null && this.fillInTime.before(before)) {
                return true;
            } else {
                return false;
            }
        } catch (ParseException e) {
            return true;
        }
    }
    
    public boolean isNewBefore() {
        try {
            Date before = DateUtils.parseDate("2020-04-01", "yyyy-MM-dd");
            if(this.fillInTime != null && this.fillInTime.after(before)) {
                return true;
            } else {
                return false;
            }
        } catch (ParseException e) {
            return true;
        }
    }


    public SatisfactionSurvey() {

    }

    public SatisfactionSurvey(CourseRound courseRound) {
        this.courseRound = courseRound;
        this.createTime = new Date();
        this.endTime = DateUtils.addDays(createTime, 1);
    }

    /**
     * 
     * @return
     */
    public SatisfactionSurvey initialize() {
        this.createTime = new Date();
        return this;
    }
    
    public SatisfactionSurvey edit(String city, String district,
    		SiteOption siteAnswerOne, String siteAnswerOneReason, String siteAnswerOneReasonOther,
    		SiteOption siteAnswerTwo, String siteAnswerTwoReason, String siteAnswerTwoReasonOther,
    		String siteAnswerTwoReasonNew, String siteAnswerTwoReasonNewOther,
    		SiteOption siteAnswerThree, String siteAnswerFour,
    		ServerOption serverAnswerOne, String serverAnswerOneReason, String serverAnswerOneReasonOther,
    		ServerOption serverAnswerTwo,
    		ServerOption serverAnswerThree, String serverAnswerThreeReason, String serverAnswerThreeReasonOther,
    		ServerOption serverAnswerFour, String serverAnswerFourReason, String serverAnswerFourReasonOther,
    		Integer serverAnswerFive, String serverAnswerSix,
    		String coachAnswerOne, String coachAnswerOneReason, String  coachAnswerOneReasonOther,
    		String coachAnswerTwo, String coachAnswerTwoReason, String  coachAnswerTwoReasonOther,
    		String coachAnswerThree, String coachAnswerThreeReason, String  coachAnswerThreeReasonOther,
    		Boolean coachAnswerFour,
            CoachType coachAnswerFive, String coachAnswerFiveReason, String coachAnswerFiveReasonOther,
            String coachAnswerSix, String coachAnswerSixReason, String coachAnswerSixReasonOther,
            Boolean coachAnswerSeven, 
            String coachAnswerEight, String coachAnswerEightReason, String coachAnswerEightReasonOther,
            String coachChangeReason,
            CoachService[] coachServices,
            Boolean totalAnswerOne, String totalAnswerOneReason, String totalAnswerOneReasonOther,
            Boolean totalAnswerTwo, String totalAnswerTwoReason, String totalAnswerTwoReasonOther,
            Integer totalAnswerThree, String totalAnswerFour,
            Integer totalAnswerFive, 
            String totalAnswerSix, 
            Integer totalAnswerSevenNew, 
            String totalAnswerSevenReason, String totalRateReason, String totalRateReasonOther,
            String totalRateReasonTwo, String totalRateReasonTwoOther,
            String totalAnswerEight, 
            String totalAnswerNine,
            String totalAnswerTen,
            String totalAnswerNine1Reason, String totalAnswerNine2Reason,
            String totalAnswerNine3Reason, String totalAnswerNine3ReasonOther) {
    	
    	this.city = city;
        this.district = district;
        
        this.siteAnswerOne = siteAnswerOne;
        this.siteAnswerOneReason = siteAnswerOneReason;
        this.siteAnswerOneReasonOther = siteAnswerOneReasonOther;

        this.siteAnswerTwo = siteAnswerTwo;
        this.siteAnswerTwoReason = siteAnswerTwoReason;
        this.siteAnswerTwoReasonOther = siteAnswerTwoReasonOther;
        this.siteAnswerTwoReasonNew = siteAnswerTwoReasonNew;
        this.siteAnswerTwoReasonNewOther = siteAnswerTwoReasonNewOther;
        
        this.siteAnswerThree = siteAnswerThree;
        this.siteAnswerFour = siteAnswerFour;
        
        this.serverAnswerOne = serverAnswerOne;
        this.serverAnswerOneReason = serverAnswerOneReason;
        this.serverAnswerOneReasonOther = serverAnswerOneReasonOther;
        
        this.serverAnswerTwo = serverAnswerTwo;
        
        this.serverAnswerThree = serverAnswerThree;
        this.serverAnswerThreeReason = serverAnswerThreeReason;
        this.serverAnswerThreeReasonOther = serverAnswerThreeReasonOther;
        
        this.serverAnswerFour = serverAnswerFour;
        this.serverAnswerFourReason = serverAnswerFourReason;
        this.serverAnswerFourReasonOther = serverAnswerFourReasonOther;
        
        this.serverAnswerFive = serverAnswerFive;
        this.serverAnswerSix = serverAnswerSix;
        
        this.coachAnswerOne = coachAnswerOne;
        this.coachAnswerOneReason = coachAnswerOneReason;
        this.coachAnswerOneReasonOther = coachAnswerOneReasonOther;
        
        this.coachAnswerTwo = coachAnswerTwo;
        this.coachAnswerTwoReason = coachAnswerTwoReason;
        this.coachAnswerTwoReasonOther = coachAnswerTwoReasonOther;
        
        this.coachAnswerThree = coachAnswerThree;
        this.coachAnswerThreeReason = coachAnswerThreeReason;
        this.coachAnswerThreeReasonOther = coachAnswerThreeReasonOther;
        
        this.coachAnswerFour = coachAnswerFour;
        
        this.coachAnswerFive = coachAnswerFive;
        this.coachAnswerFiveReason = coachAnswerFiveReason;
        this.coachAnswerFiveReasonOther = coachAnswerFiveReasonOther;
        
        this.coachAnswerSix = coachAnswerSix;
        this.coachAnswerSixReason = coachAnswerSixReason;
        this.coachAnswerSixReasonOther = coachAnswerSixReasonOther;
        
        
        this.coachAnswerSeven = coachAnswerSeven;
        this.coachAnswerEight = coachAnswerEight;
        this.coachAnswerEightReason = coachAnswerEightReason;
        this.coachAnswerEightReasonOther = coachAnswerEightReasonOther;
        
        this.coachChangeReason = coachChangeReason;
        if (coachServices == null || coachServices.length == 0) {
            this.coachAnswerEight = null;
        } else {
            StringBuffer buffer = new StringBuffer("");

            for (CoachService coachService : coachServices) {
                buffer.append(coachService.ordinal() + ",");
            }

            this.coachAnswerEight = buffer.toString();
        }
        
        this.totalAnswerOne = totalAnswerOne;
        this.totalAnswerOneReason = totalAnswerOneReason;
        this.totalAnswerOneReasonOther = totalAnswerOneReasonOther;
        
        this.totalAnswerTwo = totalAnswerTwo;
        this.totalAnswerTwoReason = totalAnswerTwoReason;
        this.totalAnswerTwoReasonOther = totalAnswerTwoReasonOther;
        
        this.totalAnswerThree = totalAnswerThree;
        this.totalAnswerFour = totalAnswerFour;
        this.totalAnswerFive = totalAnswerFive;
        this.totalAnswerSix = totalAnswerSix;
        
        this.totalAnswerSevenNew = totalAnswerSevenNew;
        this.totalAnswerSevenReason = totalAnswerSevenReason;
        
        this.totalRateReason = totalRateReason;
        this.totalRateReasonOther = totalRateReasonOther;
        
        this.totalRateReasonTwo = totalRateReasonTwo;
        this.totalRateReasonTwoOther = totalRateReasonTwoOther;
        
        this.totalAnswerEight = totalAnswerEight;
        this.totalAnswerNine = totalAnswerNine;
        this.setTotalAnswerTen(totalAnswerTen);
        this.totalAnswerNineOneReason = totalAnswerNine1Reason;
        this.totalAnswerNineTwoReason = totalAnswerNine2Reason;
        this.totalAnswerNineThreeReason = totalAnswerNine3Reason;
        this.totalAnswerNineThreeReasonOther = totalAnswerNine3ReasonOther;
        
        this.fillInTime = new Date();
        return this;
    		
	}
    


    public SatisfactionSurvey edit(String city, String district,
            SiteOption siteAnswerOne, String siteAnswerOneReason, 
            SiteOption siteAnswerTwo, String siteAnswerTwoReason, 
            SiteOption siteAnswerThree, String siteAnswerFour,
            ServerOption serverAnswerOne, ServerOption serverAnswerTwo, 
            ServerOption serverAnswerThree, String serverRemarkThree, 
            ServerOption serverAnswerFour, String serverRemarkFour,
            Integer serverAnswerFive, String serverAnswerSix,
            String coachAnswerOne, String coachAnswerTwo, 
            String coachAnswerThree, Boolean coachAnswerFour,
            CoachType coachAnswerFive, String coachAnswerSix, 
            Boolean coachAnswerSeven, String coachAnswerEight,
            String coachChangeReason,
            CoachService[] coachServices,
            Boolean totalAnswerOne, Boolean totalAnswerTwo, Integer totalAnswerThree, String totalAnswerFour,
            Integer totalAnswerFive, String totalAnswerSix, Integer totalAnswerSevenNew, String totalAnswerSevenReason, String totalAnswerEight, 
            String totalAnswerNine,
            String totalAnswerTen) {
        this.city = city;
        this.district = district;
        this.siteAnswerOne = siteAnswerOne;
        this.siteAnserOneReason = siteAnswerOneReason;
        this.siteAnswerTwo = siteAnswerTwo;
        this.siteAnserTwoReason = siteAnswerTwoReason;
        this.siteAnswerThree = siteAnswerThree;
        this.siteAnswerFour = siteAnswerFour;
        this.serverAnswerOne = serverAnswerOne;
        this.serverAnswerTwo = serverAnswerTwo;
        this.serverAnswerThree = serverAnswerThree;
        this.serverRemarkThree = serverRemarkThree;
        this.serverAnswerFour = serverAnswerFour;
        this.serverRemarkFour = serverRemarkFour;
        this.serverAnswerFive = serverAnswerFive;
        this.serverAnswerSix = serverAnswerSix;
        this.coachAnswerOne = coachAnswerOne;
        this.coachAnswerTwo = coachAnswerTwo;
        this.coachAnswerThree = coachAnswerThree;
        this.coachAnswerFour = coachAnswerFour;
        this.coachAnswerFive = coachAnswerFive;
        this.coachAnswerSix = coachAnswerSix;
        this.coachAnswerSeven = coachAnswerSeven;
        this.coachAnswerEight = coachAnswerEight;
        this.coachChangeReason = coachChangeReason;
        if (coachServices == null || coachServices.length == 0) {
            this.coachAnswerEight = null;
        } else {
            StringBuffer buffer = new StringBuffer("");

            for (CoachService coachService : coachServices) {
                buffer.append(coachService.ordinal() + ",");
            }

            this.coachAnswerEight = buffer.toString();
        }
        this.totalAnswerOne = totalAnswerOne;
        this.totalAnswerTwo = totalAnswerTwo;
        this.totalAnswerThree = totalAnswerThree;
        this.totalAnswerFour = totalAnswerFour;
        this.totalAnswerFive = totalAnswerFive;
        this.totalAnswerSix = totalAnswerSix;
        this.totalAnswerSevenNew = totalAnswerSevenNew;
        this.totalAnswerSevenReason = totalAnswerSevenReason;
        this.totalAnswerEight = totalAnswerEight;
        this.totalAnswerNine = totalAnswerNine;
        this.setTotalAnswerTen(totalAnswerTen);
        this.fillInTime = new Date();
        return this;
    }

    /**
     * 
     * @param coupon
     * @return
     */
    public SatisfactionSurvey bindCoupon(Coupon coupon) {
        this.coupon = coupon;
        return this;
    }

    public SatisfactionSurvey bindCashCoupon(Coupon cashCoupon) {
        this.cashCoupon = cashCoupon;
        return this;
    }

    /**
     * 
     * @return
     */
    public String getCoachAnswerEightString() {
        if (coachAnswerEight == null) {
            return null;
        } else {
            String[] coachServices = coachAnswerEight.split(",");

            if (coachServices == null || coachServices.length == 0) {
                return null;
            } else {
                StringBuffer buffer = new StringBuffer();

                for (String coachService : coachServices) {
                    buffer.append(CoachService.ordinalOf(Integer.parseInt(coachService)).getDescription() + ",");
                }

                if (buffer.length() > 1) {
                    return buffer.substring(0, buffer.length() - 1);
                } else {
                    return null;
                }
            }
        }
    }

    /**
     * 
     * @param gift
     * @return
     */
    public SatisfactionSurvey editGift(String gift) {
        this.gift = gift;
        return this;
    }

	public Long getId() {
		return id;
	}

	public CourseRound getCourseRound() {
		return courseRound;
	}

	public String getCity() {
		return city;
	}

	public String getDistrict() {
		return district;
	}

	public SiteOption getSiteAnswerOne() {
		return siteAnswerOne;
	}

	public String getSiteAnserOneReason() {
		return siteAnserOneReason;
	}

	public String getSiteAnswerOneReason() {
		return siteAnswerOneReason;
	}

	public String getSiteAnswerOneReasonOther() {
		return siteAnswerOneReasonOther;
	}

	public SiteOption getSiteAnswerTwo() {
		return siteAnswerTwo;
	}

	public String getSiteAnserTwoReason() {
		return siteAnserTwoReason;
	}

	public String getSiteAnswerTwoReason() {
		return siteAnswerTwoReason;
	}

	public String getSiteAnswerTwoReasonOther() {
		return siteAnswerTwoReasonOther;
	}

	public String getSiteAnswerTwoReasonNew() {
		return siteAnswerTwoReasonNew;
	}

	public String getSiteAnswerTwoReasonNewOther() {
		return siteAnswerTwoReasonNewOther;
	}

	public SiteOption getSiteAnswerThree() {
		return siteAnswerThree;
	}

	public String getSiteAnswerFour() {
		return siteAnswerFour;
	}

	public ServerOption getServerAnswerOne() {
		return serverAnswerOne;
	}

	public String getServerAnswerOneReason() {
		return serverAnswerOneReason;
	}

	public String getServerAnswerOneReasonOther() {
		return serverAnswerOneReasonOther;
	}

	public ServerOption getServerAnswerTwo() {
		return serverAnswerTwo;
	}

	public ServerOption getServerAnswerThree() {
		return serverAnswerThree;
	}

	public String getServerAnswerThreeReason() {
		return serverAnswerThreeReason;
	}

	public String getServerAnswerThreeReasonOther() {
		return serverAnswerThreeReasonOther;
	}

	public String getServerRemarkThree() {
		return serverRemarkThree;
	}

	public ServerOption getServerAnswerFour() {
		return serverAnswerFour;
	}

	public String getServerAnswerFourReason() {
		return serverAnswerFourReason;
	}

	public String getServerAnswerFourReasonOther() {
		return serverAnswerFourReasonOther;
	}

	public String getServerRemarkFour() {
		return serverRemarkFour;
	}

	public Integer getServerAnswerFive() {
		return serverAnswerFive;
	}

	public String getServerAnswerSix() {
		return serverAnswerSix;
	}

	public String getCoachAnswerOne() {
		return coachAnswerOne;
	}

	public String getCoachAnswerOneReason() {
		return coachAnswerOneReason;
	}

	public String getCoachAnswerOneReasonOther() {
		return coachAnswerOneReasonOther;
	}

	public String getCoachAnswerTwo() {
		return coachAnswerTwo;
	}

	public String getCoachAnswerTwoReason() {
		return coachAnswerTwoReason;
	}

	public String getCoachAnswerTwoReasonOther() {
		return coachAnswerTwoReasonOther;
	}

	public String getCoachAnswerThree() {
		return coachAnswerThree;
	}

	public String getCoachAnswerThreeReason() {
		return coachAnswerThreeReason;
	}

	public String getCoachAnswerThreeReasonOther() {
		return coachAnswerThreeReasonOther;
	}

	public Boolean getCoachAnswerFour() {
		return coachAnswerFour;
	}

	public CoachType getCoachAnswerFive() {
		return coachAnswerFive;
	}

	public String getCoachAnswerFiveReason() {
		return coachAnswerFiveReason;
	}

	public String getCoachAnswerFiveReasonOther() {
		return coachAnswerFiveReasonOther;
	}

	public String getCoachAnswerSix() {
		return coachAnswerSix;
	}

	public String getCoachAnswerSixReason() {
		return coachAnswerSixReason;
	}

	public String getCoachAnswerSixReasonOther() {
		return coachAnswerSixReasonOther;
	}

	public Boolean getCoachAnswerSeven() {
		return coachAnswerSeven;
	}

	public String getCoachAnswerEight() {
		return coachAnswerEight;
	}

	public String getCoachAnswerEightReason() {
		return coachAnswerEightReason;
	}

	public String getCoachAnswerEightReasonOther() {
		return coachAnswerEightReasonOther;
	}

	public String getCoachChangeReason() {
		return coachChangeReason;
	}

	public Boolean getTotalAnswerOne() {
		return totalAnswerOne;
	}

	public String getTotalAnswerOneReason() {
		return totalAnswerOneReason;
	}

	public String getTotalAnswerOneReasonOther() {
		return totalAnswerOneReasonOther;
	}

	public Boolean getTotalAnswerTwo() {
		return totalAnswerTwo;
	}

	public String getTotalAnswerTwoReason() {
		return totalAnswerTwoReason;
	}

	public String getTotalAnswerTwoReasonOther() {
		return totalAnswerTwoReasonOther;
	}

	public Integer getTotalAnswerThree() {
		return totalAnswerThree;
	}

	public String getTotalAnswerFour() {
		return totalAnswerFour;
	}

	public Integer getTotalAnswerFive() {
		return totalAnswerFive;
	}

	public String getTotalAnswerSix() {
		return totalAnswerSix;
	}

	public Boolean getTotalAnswerSeven() {
		return totalAnswerSeven;
	}

	public Integer getTotalAnswerSevenNew() {
		return totalAnswerSevenNew;
	}

	public String getTotalRateReason() {
		return totalRateReason;
	}

	public String getTotalRateReasonOther() {
		return totalRateReasonOther;
	}

	public String getTotalRateReasonTwo() {
		return totalRateReasonTwo;
	}

	public String getTotalRateReasonTwoOther() {
		return totalRateReasonTwoOther;
	}

	public String getTotalAnswerSevenReason() {
		return totalAnswerSevenReason;
	}

	public String getTotalAnswerEight() {
		return totalAnswerEight;
	}

	public String getTotalAnswerNine() {
		return totalAnswerNine;
	}
	
	public String getTotalAnswerNineOneReason() {
		return totalAnswerNineOneReason;
	}
	
	public String getTotalAnswerNineTwoReason() {
		return totalAnswerNineTwoReason;
	}
	
	public String getTotalAnswerNineThreeReason() {
		return totalAnswerNineThreeReason;
	}
	
	public String getTotalAnswerNineThreeReasonOther() {
		return totalAnswerNineThreeReasonOther;
	}
	
	public Date getCreateTime() {
		return createTime;
	}

	public Date getFillInTime() {
		return fillInTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public boolean isDisabled() {
		return disabled;
	}

	public Coupon getCoupon() {
		return coupon;
	}

	public String getGift() {
		return gift;
	}

	public Coupon getCashCoupon() {
		return cashCoupon;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public void setCourseRound(CourseRound courseRound) {
		this.courseRound = courseRound;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public void setSiteAnswerOne(SiteOption siteAnswerOne) {
		this.siteAnswerOne = siteAnswerOne;
	}

	public void setSiteAnserOneReason(String siteAnserOneReason) {
		this.siteAnserOneReason = siteAnserOneReason;
	}

	public void setSiteAnswerOneReason(String siteAnswerOneReason) {
		this.siteAnswerOneReason = siteAnswerOneReason;
	}

	public void setSiteAnswerOneReasonOther(String siteAnswerOneReasonOther) {
		this.siteAnswerOneReasonOther = siteAnswerOneReasonOther;
	}

	public void setSiteAnswerTwo(SiteOption siteAnswerTwo) {
		this.siteAnswerTwo = siteAnswerTwo;
	}

	public void setSiteAnserTwoReason(String siteAnserTwoReason) {
		this.siteAnserTwoReason = siteAnserTwoReason;
	}

	public void setSiteAnswerTwoReason(String siteAnswerTwoReason) {
		this.siteAnswerTwoReason = siteAnswerTwoReason;
	}

	public void setSiteAnswerTwoReasonOther(String siteAnswerTwoReasonOther) {
		this.siteAnswerTwoReasonOther = siteAnswerTwoReasonOther;
	}

	public void setSiteAnswerTwoReasonNew(String siteAnswerTwoReasonNew) {
		this.siteAnswerTwoReasonNew = siteAnswerTwoReasonNew;
	}

	public void setSiteAnswerTwoReasonNewOther(String siteAnswerTwoReasonNewOther) {
		this.siteAnswerTwoReasonNewOther = siteAnswerTwoReasonNewOther;
	}

	public void setSiteAnswerThree(SiteOption siteAnswerThree) {
		this.siteAnswerThree = siteAnswerThree;
	}

	public void setSiteAnswerFour(String siteAnswerFour) {
		this.siteAnswerFour = siteAnswerFour;
	}

	public void setServerAnswerOne(ServerOption serverAnswerOne) {
		this.serverAnswerOne = serverAnswerOne;
	}

	public void setServerAnswerOneReason(String serverAnswerOneReason) {
		this.serverAnswerOneReason = serverAnswerOneReason;
	}

	public void setServerAnswerOneReasonOther(String serverAnswerOneReasonOther) {
		this.serverAnswerOneReasonOther = serverAnswerOneReasonOther;
	}

	public void setServerAnswerTwo(ServerOption serverAnswerTwo) {
		this.serverAnswerTwo = serverAnswerTwo;
	}

	public void setServerAnswerThree(ServerOption serverAnswerThree) {
		this.serverAnswerThree = serverAnswerThree;
	}

	public void setServerAnswerThreeReason(String serverAnswerThreeReason) {
		this.serverAnswerThreeReason = serverAnswerThreeReason;
	}

	public void setServerAnswerThreeReasonOther(String serverAnswerThreeReasonOther) {
		this.serverAnswerThreeReasonOther = serverAnswerThreeReasonOther;
	}

	public void setServerRemarkThree(String serverRemarkThree) {
		this.serverRemarkThree = serverRemarkThree;
	}

	public void setServerAnswerFour(ServerOption serverAnswerFour) {
		this.serverAnswerFour = serverAnswerFour;
	}

	public void setServerAnswerFourReason(String serverAnswerFourReason) {
		this.serverAnswerFourReason = serverAnswerFourReason;
	}

	public void setServerAnswerFourReasonOther(String serverAnswerFourReasonOther) {
		this.serverAnswerFourReasonOther = serverAnswerFourReasonOther;
	}

	public void setServerRemarkFour(String serverRemarkFour) {
		this.serverRemarkFour = serverRemarkFour;
	}

	public void setServerAnswerFive(Integer serverAnswerFive) {
		this.serverAnswerFive = serverAnswerFive;
	}

	public void setServerAnswerSix(String serverAnswerSix) {
		this.serverAnswerSix = serverAnswerSix;
	}

	public void setCoachAnswerOne(String coachAnswerOne) {
		this.coachAnswerOne = coachAnswerOne;
	}

	public void setCoachAnswerOneReason(String coachAnswerOneReason) {
		this.coachAnswerOneReason = coachAnswerOneReason;
	}

	public void setCoachAnswerOneReasonOther(String coachAnswerOneReasonOther) {
		this.coachAnswerOneReasonOther = coachAnswerOneReasonOther;
	}

	public void setCoachAnswerTwo(String coachAnswerTwo) {
		this.coachAnswerTwo = coachAnswerTwo;
	}

	public void setCoachAnswerTwoReason(String coachAnswerTwoReason) {
		this.coachAnswerTwoReason = coachAnswerTwoReason;
	}

	public void setCoachAnswerTwoReasonOther(String coachAnswerTwoReasonOther) {
		this.coachAnswerTwoReasonOther = coachAnswerTwoReasonOther;
	}

	public void setCoachAnswerThree(String coachAnswerThree) {
		this.coachAnswerThree = coachAnswerThree;
	}

	public void setCoachAnswerThreeReason(String coachAnswerThreeReason) {
		this.coachAnswerThreeReason = coachAnswerThreeReason;
	}

	public void setCoachAnswerThreeReasonOther(String coachAnswerThreeReasonOther) {
		this.coachAnswerThreeReasonOther = coachAnswerThreeReasonOther;
	}

	public void setCoachAnswerFour(Boolean coachAnswerFour) {
		this.coachAnswerFour = coachAnswerFour;
	}

	public void setCoachAnswerFive(CoachType coachAnswerFive) {
		this.coachAnswerFive = coachAnswerFive;
	}

	public void setCoachAnswerFiveReason(String coachAnswerFiveReason) {
		this.coachAnswerFiveReason = coachAnswerFiveReason;
	}

	public void setCoachAnswerFiveReasonOther(String coachAnswerFiveReasonOther) {
		this.coachAnswerFiveReasonOther = coachAnswerFiveReasonOther;
	}

	public void setCoachAnswerSix(String coachAnswerSix) {
		this.coachAnswerSix = coachAnswerSix;
	}

	public void setCoachAnswerSixReason(String coachAnswerSixReason) {
		this.coachAnswerSixReason = coachAnswerSixReason;
	}

	public void setCoachAnswerSixReasonOther(String coachAnswerSixReasonOther) {
		this.coachAnswerSixReasonOther = coachAnswerSixReasonOther;
	}

	public void setCoachAnswerSeven(Boolean coachAnswerSeven) {
		this.coachAnswerSeven = coachAnswerSeven;
	}

	public void setCoachAnswerEight(String coachAnswerEight) {
		this.coachAnswerEight = coachAnswerEight;
	}

	public void setCoachAnswerEightReason(String coachAnswerEightReason) {
		this.coachAnswerEightReason = coachAnswerEightReason;
	}

	public void setCoachAnswerEightReasonOther(String coachAnswerEightReasonOther) {
		this.coachAnswerEightReasonOther = coachAnswerEightReasonOther;
	}

	public void setCoachChangeReason(String coachChangeReason) {
		this.coachChangeReason = coachChangeReason;
	}

	public void setTotalAnswerOne(Boolean totalAnswerOne) {
		this.totalAnswerOne = totalAnswerOne;
	}

	public void setTotalAnswerOneReason(String totalAnswerOneReason) {
		this.totalAnswerOneReason = totalAnswerOneReason;
	}

	public void setTotalAnswerOneReasonOther(String totalAnswerOneReasonOther) {
		this.totalAnswerOneReasonOther = totalAnswerOneReasonOther;
	}

	public void setTotalAnswerTwo(Boolean totalAnswerTwo) {
		this.totalAnswerTwo = totalAnswerTwo;
	}

	public void setTotalAnswerTwoReason(String totalAnswerTwoReason) {
		this.totalAnswerTwoReason = totalAnswerTwoReason;
	}

	public void setTotalAnswerTwoReasonOther(String totalAnswerTwoReasonOther) {
		this.totalAnswerTwoReasonOther = totalAnswerTwoReasonOther;
	}

	public void setTotalAnswerThree(Integer totalAnswerThree) {
		this.totalAnswerThree = totalAnswerThree;
	}

	public void setTotalAnswerFour(String totalAnswerFour) {
		this.totalAnswerFour = totalAnswerFour;
	}

	public void setTotalAnswerFive(Integer totalAnswerFive) {
		this.totalAnswerFive = totalAnswerFive;
	}

	public void setTotalAnswerSix(String totalAnswerSix) {
		this.totalAnswerSix = totalAnswerSix;
	}

	public void setTotalAnswerSeven(Boolean totalAnswerSeven) {
		this.totalAnswerSeven = totalAnswerSeven;
	}

	public void setTotalAnswerSevenNew(Integer totalAnswerSevenNew) {
		this.totalAnswerSevenNew = totalAnswerSevenNew;
	}

	public void setTotalRateReason(String totalRateReason) {
		this.totalRateReason = totalRateReason;
	}

	public void setTotalRateReasonOther(String totalRateReasonOther) {
		this.totalRateReasonOther = totalRateReasonOther;
	}

	public void setTotalRateReasonTwo(String totalRateReasonTwo) {
		this.totalRateReasonTwo = totalRateReasonTwo;
	}

	public void setTotalRateReasonTwoOther(String totalRateReasonTwoOther) {
		this.totalRateReasonTwoOther = totalRateReasonTwoOther;
	}

	public void setTotalAnswerSevenReason(String totalAnswerSevenReason) {
		this.totalAnswerSevenReason = totalAnswerSevenReason;
	}

	public void setTotalAnswerEight(String totalAnswerEight) {
		this.totalAnswerEight = totalAnswerEight;
	}

	public void setTotalAnswerNine(String totalAnswerNine) {
		this.totalAnswerNine = totalAnswerNine;
	}
	
	public void setTotalAnswerNineOneReason(String totalAnswerNineOneReason) {
		this.totalAnswerNineOneReason = totalAnswerNineOneReason;
	}
	
	public void setTotalAnswerNineThreeReason(String totalAnswerNineThreeReason) {
		this.totalAnswerNineThreeReason = totalAnswerNineThreeReason;
	}
	
	public void setTotalAnswerNineThreeReasonOther(String totalAnswerNineThreeReasonOther) {
		this.totalAnswerNineThreeReasonOther = totalAnswerNineThreeReasonOther;
	}
	
	public void setTotalAnswerNineTwoReason(String totalAnswerNineTwoReason) {
		this.totalAnswerNineTwoReason = totalAnswerNineTwoReason;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public void setFillInTime(Date fillInTime) {
		this.fillInTime = fillInTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public void setDisabled(boolean disabled) {
		this.disabled = disabled;
	}

	public void setCoupon(Coupon coupon) {
		this.coupon = coupon;
	}

	public void setGift(String gift) {
		this.gift = gift;
	}

	public void setCashCoupon(Coupon cashCoupon) {
		this.cashCoupon = cashCoupon;
	}

	public String getTotalAnswerTen() {
		return totalAnswerTen;
	}

	public void setTotalAnswerTen(String totalAnswerTen) {
		this.totalAnswerTen = totalAnswerTen;
	}
}
